<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="app">
    <a name="a_name"></a>
    <a href="http://www.baidu.com"></a>
    <form class="from_name"></form>
    <form id="from"></form>
    <img src="../../../static//image/clown.png" width="100px" height="100px">
  </div>
  <script  type="text/javascript">
    document.write('<strong>这是我的write内容</strong>');
    document.writeln('<strong>这是我的writeln内容</strong>');
    document.write(`这是定义的变量${new Date().toLocaleString()}`);

    //虽然这样写看起来没错，但输出之后的"<\/script>"会匹配最外层的<script>标签，导致页面中显示出");。为避免出现这个问题，需要对前面的例子稍加修改：
    //测试
    document.write("<script type=\"text/javascript\" src=\"file.js\">" + "<\/script>");
    //这里的字符串"<\/script>"不会再匹配最外层的<script>标签，因此不会在页面中输出额外内容。
  </script>
</body>
<script  type="text/javascript">
  /**6.特殊集合
   *   a.document 对象上还暴露了几个特殊集合，这些集合也都是 HTMLCollection 的实例。这些集合是访问文档中公共部分的快捷方式。
   *   b.document.anchors 包含文档中所有带 name 属性的<a>元素。
   *   c.document.forms 包含文档中所有<form>元素（与 document.getElementsByTagName ("form")返回的结果相同）。
   *   d.document.images 包含文档中所有<img>元素（与 document.getElementsByTagName ("img")返回的结果相同）。
   *   e.document.links 包含文档中所有带 href 属性的<a>元素。
   *   f.这些特殊集合始终存在于 HTMLDocument 对象上，而且与所有 HTMLCollection 对象一样，其内容也会实时更新以符合当前文档的内容。
   * **/
   function checkSpecialCollection(){
     //document.anchors
     console.log('document.anchors',document.anchors);
     //document.forms
     console.log('document.forms',document.forms);
     //document.images
     console.log('document.images',document.images);
     //document.links
     console.log('document.links',document.links);
   }
   checkSpecialCollection();

   /**7.文档写入
    *   a.document 对象有一个古老的能力，即向网页输出流中写入内容。这个能力对应 4 个方法：write()、writeln()、open()和 close()。
    *   b.其中，write()和 writeln()方法都接收一个字符串参数，可以将这个字符串写入网页中。write()简单地写入文本，而 writeln()还会在字符串末尾追加一个换行
    *     符（\n）。这两个方法可以用来在页面加载期间向页面中动态添加内容。
    *   c.在页面加载过程中输出当前日期和时间。日期放在了<strong>元素中，如同它们之前就包含在 HTML 页面中一样。这意味着会创建一个 DOM 元素，以后也可以访问。通
    *     过 write()和writeln()输出的任何 HTML 都会以这种方式来处理。
    *   d.write()和 writeln()方法经常用于动态包含外部资源，如 JavaScript 文件。在包含 JavaScript 文件时，记住不能像下面的例子中这样直接包含字符串
    *     <\/script>，因为这个字符串会被解释为脚本块的结尾，导致后面的代码不能执行：
    *   e.open()和 close()方法分别用于打开和关闭网页输出流。在调用 write()和 writeln()时，这两个方法都不是必需的。
    * **/
</script>
</html>